package com.otv.encargado.service;

import java.util.List;
import org.springframework.transaction.annotation.Transactional;
import com.otv.model.Encargado;
import com.otv.encargado.dao.IEncargadoDAO;


/**
 * Class EncargardoService.
 */
public class EncargadoService implements IEncargadoService {

	/** El/la encargado dao. */
	IEncargadoDAO encargadoDAO;
	


	@Transactional(readOnly = false)
	@Override
	public void addEncargado(Encargado encargado) {
		getEncargadoDAO().addEncargado(encargado);
	}


	@Transactional(readOnly = false)
	@Override
	public void updateEncargado(Encargado encargado) {
		getEncargadoDAO().updateEncargado(encargado);
	}

	
	@Transactional(readOnly = false)
	@Override
	public void deleteEncargado(Encargado encargado) {
		getEncargadoDAO().deleteEncargado(encargado);
	}


	@Transactional(readOnly = false)
	@Override
	public Encargado getEncargadoById(int id) {
		return getEncargadoDAO().getEncargadoById(id) ;
	}


	@Transactional(readOnly = false)
	@Override
	public List<Encargado> getEncargados() {
		return getEncargadoDAO().getEncargados() ;
	}

	/**
	 * Devuelve un(a) encargado dao.
	 *
	 * @return El/la encargado dao
	 */
	public IEncargadoDAO getEncargadoDAO() {
		return encargadoDAO;
	}

	/**
	 * Asigna el/la encargado dao.
	 *
	 * @param encargadoDAO un(a) nuevo(a) encargado dao
	 */
	public void setEncargadoDAO(IEncargadoDAO encargadoDAO) {
		this.encargadoDAO = encargadoDAO;
	}
	
}
